package Offer;

//原地交换
public class Offer03findRepeatNumber {
    public int findRepeatNumber(int[] nums) {
//        int[] tmp=new int[nums.length];
//        for (int i = 0; i < nums.length; i++) {
//            if(tmp[nums[i]]>0){
//                return nums[i];
//            }
//            tmp[nums[i]]++;
//        }
//        return -1;
        int i=0;
        while(i<nums.length){
            // 一直连续交换，指导符合nums[i]==i时停止
            if(nums[i]==i){
                i++;
                continue;
            }
            if(nums[nums[i]]==nums[i])return nums[i];
            int tmp=nums[i];
            nums[i]=nums[tmp];
            nums[tmp]=tmp;
        }
        return -1;
    }
}
